﻿<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>      
      <Shortcut>boringeditorcode</Shortcut>
      <Keywords>
        <Keyword>C#</Keyword>
      </Keywords>
      <SnippetTypes>
        <SnippetType>Expansion</SnippetType>
      </SnippetTypes>
      <Title>Boring Editor Code</Title>
    </Header>
    <Snippet>
      <Code Language="CSharp">
<![CDATA[
internal static class TodoClassDef
    {
        [Export(typeof(ClassificationTypeDefinition))]
        [Name("TodoClassifier")]
        internal static ClassificationTypeDefinition TodoClassifierType = null;
    }

    [Export(typeof(EditorFormatDefinition))]
    [ClassificationType(ClassificationTypeNames = "TodoClassifier")]
    [Name("TodoClassifier")]
    [UserVisible(true)]
    [Order(After=Priority.Default)]
    internal sealed class TodoFormatter : ClassificationFormatDefinition
    {
        public TodoFormatter()
        {
            // step 1
        }
    }

    class TodoClassifier : IClassifier
    {
        IClassificationType classificationType;

        internal TodoClassifier(IClassificationTypeRegistryService registry)
        {
            // step 2 
        }

        public IList<ClassificationSpan> GetClassificationSpans(SnapshotSpan span)
        {
            // step 3
        }

        public event EventHandler<ClassificationChangedEventArgs> ClassificationChanged;
    }

    [Export(typeof(IClassifierProvider))]
    [ContentType("text")]
    internal class TodoProvider : IClassifierProvider
    {
        [Import]
        internal IClassificationTypeRegistryService registry = null;

        public IClassifier GetClassifier(ITextBuffer textBuffer)
        {
          // step 4   
        }
    }   
]]>
      </Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>
